#include "inmersioneslist.h"

InmersionesList::InmersionesList( QWidget* parent, InmersionesModel* inmersionesmodel, EstadisticasModel* estadisticasmodel )
: QListView( parent ), _inmersionesmodel( inmersionesmodel ), _estadisticasmodel( estadisticasmodel ), _showinmersiones( false )
{
    setObjectName( "inmersionesList" );
    connect( this, SIGNAL( doubleClicked( const QModelIndex& ) ), SLOT( showInmersiones( const QModelIndex& ) ) );
    setHorizontalScrollBarPolicy( Qt::ScrollBarAlwaysOff );
    setVerticalScrollBarPolicy( Qt::ScrollBarAlwaysOff );
    _inmersiondelegate = new InmersionDelegate( this );
    _estadisticadelegate = new EstadisticaDelegate( this );
    showEstadisticas();
}

void InmersionesList::showEstadisticas()
{
    setItemDelegate( _estadisticadelegate );
    setModel( _estadisticasmodel );
    _showinmersiones = false;
    emit inmersionesToggle( _showinmersiones );
}

void InmersionesList::showInmersiones( const QModelIndex& /*index*/ )
{
    if( _showinmersiones ) return;
    setItemDelegate( _inmersiondelegate );
    setModel( _inmersionesmodel );
    _showinmersiones = true;
    emit inmersionesToggle( _showinmersiones );
}

void InmersionesList::currentChanged( const QModelIndex& current, const QModelIndex& /*previous*/ )
{
    scrollTo( current );
    if( _showinmersiones ) emit currentIndexChanged( current );
}

void InmersionesList::contextMenuEvent( QContextMenuEvent* event )
{
    _contextmenu->exec( event->globalPos() );
}
